package com.web.exiaodao.remote.vo;

import com.wordnik.swagger.annotations.ApiModel;
import com.wordnik.swagger.annotations.ApiModelProperty;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author eason.zt
 * @ClassName: ShopVo
 * @Description:商品表 Vo
 * @date 2016-11-02 17:35:34
 */
@ApiModel(value = "商品表Vo对象")
public class ShopVo {

    @ApiModelProperty(value = "主键，自动增长")
    private Long id;
    /**
     * @see com.web.webstart.base.constant.XaConstant.Status
     */
    @ApiModelProperty(value = "状态参看XaConstant.Status;状态为2的才能进行购买")
    private Integer status;

    @ApiModelProperty(value = "创建时间")
    private String createTime;

    @ApiModelProperty(value = "商品名称,商品名称")
    private String shopProductName;
    @ApiModelProperty(value = "商品优惠价格,商品优惠价格")
    private String shopProductPrice;
    @ApiModelProperty(value="商品原价,商品原价")
    private String originalPrice;
    @ApiModelProperty(value = "商品简介（产品参数）,商品简介（产品参数）简介，参数类别二合一的一个属性")
    private String shopProductBrief;
    @ApiModelProperty(value = "商品图片（banner）URL，多张逗号分割,商品图片URL，多张逗号分割")
    private String shopProductPicUrls;
    @ApiModelProperty(value = "商品介绍-图文详情-富文本,商品介绍-图文详情-富文本")
    private String shopProductIntroduce;
    @ApiModelProperty(value = "库存,库存")
    private Long shopProductInventory;
    @ApiModelProperty(value = "品牌,品牌(预留字段)")
    private String brand;
    @ApiModelProperty(value = "商品分类,商品种类")
    private Long categoryType;
    @ApiModelProperty(value = "点击量,点击量")
    private Long clickCont;
    @ApiModelProperty(value="排序值,排序值")
    private Long sort;
    @ApiModelProperty(value="抵扣比例,抵扣比例")
    private Double discountRate;

    @ApiModelProperty(value = "是否收藏,只有详情接口返回")
    private Boolean isFavorite = null;
    @ApiModelProperty(value = "收藏的id,只有详情接口返回")
    private Long favoriteId;
    /**
     *
     */
    @ApiModelProperty(value = "商品规格;商品规格")
    private List<ShopStandardNameVo> standards;
    @ApiModelProperty(value = "规格种类;规格种类")
    private CategoryVo shopCategoryVo;
    /**
     * 评价列表
     */
    @ApiModelProperty(value = "评价列表;评价列表")
    private Page<CommentVo> commentVoList;


    public ShopVo(Long id, String shopProductName, String shopProductBrief, String shopProductPicUrls, String shopProductIntroduce, Long categoryType, Long shopProductInventory, String brand) {
        this.id = id;
        this.shopProductName = shopProductName;
        this.shopProductBrief = shopProductBrief;
        this.shopProductPicUrls = shopProductPicUrls;
        this.shopProductIntroduce = shopProductIntroduce;
        this.categoryType = categoryType;
        this.shopProductInventory = shopProductInventory;
        this.brand = brand;
    }

    public ShopVo() {
        super();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public void setShopProductName(String shopProductName) {
        this.shopProductName = shopProductName;
    }

    public String getShopProductName() {
        return shopProductName;
    }

    public void setShopProductBrief(String shopProductBrief) {
        this.shopProductBrief = shopProductBrief;
    }

    public String getShopProductBrief() {
        return shopProductBrief;
    }

    public void setShopProductPicUrls(String shopProductPicUrls) {
        this.shopProductPicUrls = shopProductPicUrls;
    }

    public String getShopProductPicUrls() {
        return shopProductPicUrls;
    }

    public void setShopProductIntroduce(String shopProductIntroduce) {
        this.shopProductIntroduce = shopProductIntroduce;
    }

    public String getShopProductIntroduce() {
        return shopProductIntroduce;
    }

    public void setCategoryType(Long categoryType) {
        this.categoryType = categoryType;
    }

    public Long getCategoryType() {
        return categoryType;
    }

    public void setShopProductInventory(Long shopProductInventory) {
        this.shopProductInventory = shopProductInventory;
    }

    public Long getShopProductInventory() {
        return shopProductInventory;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public String getShopProductPrice() {
        return shopProductPrice;
    }

    public void setShopProductPrice(String shopProductPrice) {
        this.shopProductPrice = shopProductPrice;
    }

    public List<ShopStandardNameVo> getStandards() {
        return standards;
    }

    public void setStandards(List<ShopStandardNameVo> standards) {
        this.standards = standards;
    }

    public CategoryVo getShopCategoryVo() {
        return shopCategoryVo;
    }

    public void setShopCategoryVo(CategoryVo shopCategoryVo) {
        this.shopCategoryVo = shopCategoryVo;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Boolean getFavorite() {
        return isFavorite;
    }

    public void setFavorite(Boolean favorite) {
        isFavorite = favorite;
    }

    public Long getFavoriteId() {
        return favoriteId;
    }

    public void setFavoriteId(Long favoriteId) {
        this.favoriteId = favoriteId;
    }

    public Page<CommentVo> getCommentVoList() {
        return commentVoList;
    }

    public void setCommentVoList(Page<CommentVo> commentVoList) {
        this.commentVoList = commentVoList;
    }

    public Long getClickCont() {
        return clickCont;
    }

    public void setClickCont(Long clickCont) {
        this.clickCont = clickCont;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public String getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(String originalPrice) {
        this.originalPrice = originalPrice;
    }

    public Double getDiscountRate() {
        return discountRate;
    }

    public void setDiscountRate(Double discountRate) {
        this.discountRate = discountRate;
    }
}

